itensDetalhamento = new Array();
        function AdicionarObjeto( objeto )
        {
            if( itensDetalhamento.length == 0 )
            {
        		itensDetalhamento.push( objeto );
        		AdicionarObjetoHTML(objeto.campusId);
        		
        		return 1;
            }
            else 
            {
				for(i = 0; i < itensDetalhamento.length; i++ ){
					if(itensDetalhamento[i] != null){
            			if(itensDetalhamento[i].tipo == "material" && itensDetalhamento[i].grupo != objeto.grupo && objeto.grupo != 0 ){
							throw new Error("Objetos são de classes diferentes.");
							return;
	            		}else if(itensDetalhamento[i].tipo != objeto.tipo ){
            				throw new Error("Objetos de um tipo diferente do detalhamento.");
							return;
    					}
            			break;
					}
				}
				itensDetalhamento.push( objeto );
				AdicionarObjetoHTML(objeto.campusId);
            }
        }

        // Cria uma linha na tabela tabelaDetalhamento para o �ltimo objeto adicionado ao array itensDetalhamento.
        function AdicionarObjetoHTML(campusId)
        {
        	var objHTML = document.createElement("TR");
        	objHTML.setAttribute("id", "linhaMaterial-"+itensDetalhamento.length);
			//if( (itensDetalhamento.length)%2 != 0 )
				objHTML.style.backgroundColor = '#FFFFFF';
		
			var objColunaRemover = document.createElement("TD");
			
			var objImgAdd = document.createElement("IMG");
			objImgAdd.id = itensDetalhamento.length-1;
			objImgAdd.src = "templates/icon-add2.png";
			objImgAdd.setAttribute("style", "border: none;");
			var objLinkAdd = document.createElement("a");
			objLinkAdd.setAttribute("onclick", "AdicionarAoCampus("+itensDetalhamento.length+")");
			//objLinkAdd.setAttribute("href", "#");
			objLinkAdd.setAttribute("title", "Adicionar Item ao Campus");
			objLinkAdd.setAttribute("style", "margin-right:5px;");
			
			var objImgExcluir = document.createElement("IMG");				
			objImgExcluir.id = itensDetalhamento.length-1;
			objImgExcluir.src = "templates/b_drop.png";
			objImgExcluir.setAttribute("style", "border: none;");
			var objLink = document.createElement("a");
			objLink.setAttribute("onclick", "excluirLinha("+itensDetalhamento.length+");");
			//objLink.setAttribute("href", "#");
			objLink.setAttribute("title", "Excluir Item");
			
			var objColunaNumeracao = document.createElement("TD");
			objColunaNumeracao.setAttribute("style", "text-align:center;" );
			objColunaNumeracao.innerHTML = itensDetalhamento.length;
			var objColunaEspecificacao = document.createElement("TD");
			objColunaEspecificacao.innerHTML = unescape( itensDetalhamento[itensDetalhamento.length-1].especificacao );
			var objColunaQtde = document.createElement("TD");
			var objColunaUnidade = document.createElement("TD");
			if(itensDetalhamento[itensDetalhamento.length-1].tipo == "material"){
				var medida = itensDetalhamento[itensDetalhamento.length-1].medida;
				var stringMedida = unescape( medida.sigla+"/"+medida.capacidade+""+medida.unidadeMedida );
				objColunaUnidade.innerHTML = stringMedida;
			}else if(itensDetalhamento[itensDetalhamento.length-1].tipo == "servico"){
				objColunaUnidade.innerHTML = itensDetalhamento[itensDetalhamento.length-1].medida;
			}
			var objColunaValorUnitario = document.createElement("TD");
			var objColunaValorTotal = document.createElement("TD");

			var objSpanValorTotal = document.createElement("SPAN");
			objSpanValorTotal.textContent = "";

			var id = itensDetalhamento.length-1;
			
//			if( itensDetalhamento[itensDetalhamento.length-1].tipo == "material" )
//			{
				
				
				var objInputQuantidade = document.createElement("INPUT");
				objInputQuantidade.type = "text";
				objInputQuantidade.size = 2;
				objInputQuantidade.setAttribute( "class", "inputTexto" );
				objInputQuantidade.setAttribute("value", itensDetalhamento[itensDetalhamento.length-1].quantidade);
				objInputQuantidade.setAttribute("onkeypress", "mascara(this,inteiros)");
				
				//objInputQuantidade.setAttribute("onkeyup", "this.value=ImpedirZerarQuantidade(Number(this.value));document.getElementById('materialSpanValorTotal"+id+"').innerHTML=CalcularMaterialValorTotal(Number(this.value), document.getElementById('materialValorUnitario"+id+"').value );AtualizarValorReferencia("+campusId+")" );
				objInputQuantidade.id = "materialQuantidade"+id;

				objColunaQtde.appendChild(objInputQuantidade);
								
//			}
//			else
//			{
//								
//			
//				objColunaQtde.innerHTML = "N\A";
//				//objColunaValorUnitario.innerHTML = "N\A";
//				//objColunaValorTotal.innerHTML = "N\A";
//				objColunaUnidade.innerHTML = "N/A";
//			}

			var objInputValorUnitario = document.createElement("INPUT");
			objInputValorUnitario.type = "text";
			objInputValorUnitario.size = 5;
			objInputValorUnitario.setAttribute("onkeypress", "mascara(this,mreais)" );
			//if(itensDetalhamento[itensDetalhamento.length-1].tipo == "material")
				objInputValorUnitario.setAttribute("onkeyup", "document.getElementById('materialSpanValorTotal"+id+"').innerHTML=CalcularMaterialValorTotal(Number(document.getElementById('materialQuantidade"+id+"').value), this.value );AtualizarValorReferencia("+campusId+");" );
			//else
			//	objInputValorUnitario.setAttribute("onkeyup", "document.getElementById('materialSpanValorTotal"+id+"').innerHTML=this.value; AtualizarValorReferencia("+campusId+");" );
			if(itensDetalhamento[itensDetalhamento.length-1].copia){
				var valorUnitarioObjeto = itensDetalhamento[itensDetalhamento.length-1].valor/100;
				objInputValorUnitario.value = converterParaReal(""+valorUnitarioObjeto);
			}else{
				objInputValorUnitario.value = converterParaReal("0");
			}
			objInputValorUnitario.setAttribute( "class", "inputTexto" );
			objInputValorUnitario.id = "materialValorUnitario"+id;
			
			objColunaValorUnitario.appendChild(objInputValorUnitario);

			var objSpanValorTotal = document.createElement("SPAN");
			objSpanValorTotal.innerHTML = "0,00";
			objSpanValorTotal.id = "materialSpanValorTotal"+id;

			objColunaValorTotal.innerHTML = "R$ ";
			objColunaValorTotal.appendChild(objSpanValorTotal);

			objColunaRemover.appendChild(objLinkAdd);
			objLinkAdd.appendChild(objImgAdd);
			objColunaRemover.appendChild(objLink);
			objLink.appendChild(objImgExcluir);
			
			objHTML.appendChild(objColunaRemover);
			objHTML.appendChild(objColunaNumeracao);
			objHTML.appendChild(objColunaEspecificacao);
			objHTML.appendChild(objColunaQtde);
			objHTML.appendChild(objColunaUnidade);
			objHTML.appendChild(objColunaValorUnitario);
			objHTML.appendChild(objColunaValorTotal);
			
			// Colocado aqui por causa do tipo
			objInputQuantidade.setAttribute("onkeyup", "document.getElementById('materialSpanValorTotal"+id+"').innerHTML=CalcularMaterialValorTotal(Number(this.value), document.getElementById('materialValorUnitario"+id+"').value );AtualizarValorReferencia("+campusId+")" );
			
			//document.getElementById("corpoDetalhamento").appendChild(objHTML);
			document.getElementById("corpoDetalhamento-"+campusId).appendChild(objHTML);
        }

		function ImpedirZerarQuantidade( quantidade )
		{
			if( quantidade < 1 || isNaN(quantidade) ) // se o valor for menor que 1 substituir por 1
			{
				return 1;
			}
			return quantidade;
		}
        
        function CalcularMaterialValorTotal( quantidade, valorUnitario )
        {
        	var valorUnitarioDesformatado = DesformatarMoeda( valorUnitario )/100;
            var valorTotal = quantidade*valorUnitarioDesformatado;
            var valorTotalFormatado = converterParaReal( ""+valorTotal );

            return valorTotalFormatado;
        }
        
  
        
        function AtualizarValorReferencia(campusId)
        {
            if( itensDetalhamento.length > 0)
            {
            	var valorTotalDesformatado = 0;
            	var valorTotalDesformatadoReferencia = 0;
	        	for(var i = 0; i < itensDetalhamento.length; i++ )
	            {
		            if(itensDetalhamento[i] != null){
	        			var valorTotalMaterialFormatado = document.getElementById('materialSpanValorTotal'+i).innerHTML;
                 		var valorTotalMaterialDesformatado = Number(DesformatarMoeda( valorTotalMaterialFormatado ));	
						if(itensDetalhamento[i].campusId == campusId){
	                 	
	                 		valorTotalDesformatado += Number(valorTotalMaterialDesformatado)/100;
						}
							valorTotalDesformatadoReferencia += Number(valorTotalMaterialDesformatado)/100;
		           }	
			    }
		            

	        	var valorTotalFormatado = converterParaReal( ""+valorTotalDesformatado);
	        	document.getElementById("valortotalCampus-"+campusId).innerHTML = valorTotalFormatado;
	        	
	        	var valorTotalFormatadoReferencia = converterParaReal( ""+valorTotalDesformatadoReferencia);
	            if( document.getElementById("colunaValorReferencia") != null ){
	            	document.getElementById("colunaValorReferencia").innerHTML = 'R$ '+valorTotalFormatadoReferencia;
	            	document.getElementById("valorReferencia").value = DesformatarMoeda(valorTotalFormatadoReferencia);
		        }
            }
        }

        function ExibirListaCampus( id )
        {
        	id_nome_campus = id;
        	document.getElementById("listaCampus").style.display = "block";
        }

        function FecharListaCampus()
        {
        	document.getElementById("nomeCampus").selectedIndex = 0;
        	document.getElementById("listaCampus").style.display = "none";
        	//document.getElementById("fornecedores").style.display = "none";
        }

        function SelecionarCampus( campus , idLinha)
        {

            //alert("entrou na função, campus "+campus+" idLInha "+idLinha);
			if(campus != 0){
				if(document.getElementById("tabelaCampus-"+campus) != null){
					var item;
					itensDetalhamento[idLinha].valor = DesformatarMoeda(document.getElementById("materialValorUnitario"+idLinha).value);
					
					//alert("Valor do Objeto - "+valorUnitarioObjeto);
					if(itensDetalhamento[idLinha].tipo == "material"){
						item = new Material(itensDetalhamento[idLinha].codigo, itensDetalhamento[idLinha].especificacao, eval(itensDetalhamento[idLinha].medida.toSource()), itensDetalhamento[idLinha].valor, itensDetalhamento[idLinha].grupo,  0, campus);
						item.copia = true;
						AdicionarObjeto( item );
					}else if(itensDetalhamento[idLinha].tipo == "servico"){
						item = new Servico(itensDetalhamento[idLinha].codigo, itensDetalhamento[idLinha].especificacao, campus, itensDetalhamento[idLinha].valor, itensDetalhamento[idLinha].medida, 0);
						item.copia = true;
						AdicionarObjeto( item );
					}
					var idObjeto = itensDetalhamento.length-1;
					var objetoInput = document.getElementById("materialValorUnitario"+idObjeto);
					document.getElementById("materialSpanValorTotal"+idObjeto).innerHTML=CalcularMaterialValorTotal(Number(document.getElementById("materialQuantidade"+idObjeto).value), objetoInput.value );
					AtualizarValorReferencia(item.campusId);
				}else{
					alert("Tabela para o campus selecionado ainda não foi adicionado!");
				}
			}else
				alert("Escolha um Campus!");
        	//var opt_selecionado = campus.selectedIndex;
        	//var campus_selecionado = campus.options[opt_selecionado];
        	//if( campus_selecionado.value != 0)
        	//{
        	//	document.getElementById(id_nome_campus).textContent = campus.options[opt_selecionado].text+"  ";
        	//	FecharListaCampus();	
        	//}
        	//else
        	//	alert("Escolha um Campus!");
        	
        }
		
        function AdicionarAoCampus(idLinha){
			idLinha--;
			//window.showModelessDialog("CadastrarPrograma.php");
			window.open("AdicionarItemAUnidade.php?idLinha="+idLinha+"&campusId="+itensDetalhamento[idLinha].campusId,"Adicionar Item", "toolbar=no,menubar=no,width=300,height=100,resizable=no,top=350,left=500");
			//popup('AdicionarItemAUnidade.php','Adicionar Item',250,100);
			//ExibirListaCampus( idLinha );
	    }
		
        function excluirLinha(idLinha){
                if(confirm("Confirma exclusão do item nº "+idLinha+"?")){
                        idLinha--;
                        var obj = itensDetalhamento[idLinha];
                        itensDetalhamento[idLinha] = null;
                        AtualizarValorReferencia(obj.campusId);
                        idLinha++;
                        var linha = document.getElementById("linhaMaterial-"+idLinha);
                        linha.parentNode.removeChild(linha);
                }
        }
		
        function PrepararFormulario()
        {
			//return confirm("teste de entrada");
			var mensagemConfirmacao = "";
			if(document.getElementById("concluido").value == 0){
				mensagemConfirmacao = "Deseja salvar temporariamente esse termo de referência?";
			}else if(document.getElementById("concluido").value == 1){
				mensagemConfirmacao = "Deseja cadastrar esse termo de referência?";
			}
			if(confirm(mensagemConfirmacao)){
				var j = 0;
				var itensDetalhamento2 = new Array(); 
                            for(var i = 0; i < itensDetalhamento.length; i++ )
                            {
                                            if(itensDetalhamento[i] != null){
                                                itensDetalhamento[i].quantidade = document.getElementById("materialQuantidade"+i).value;
                                                itensDetalhamento[i].valor = DesformatarMoeda(document.getElementById("materialValorUnitario"+i).value);
                                                itensDetalhamento2[j] = itensDetalhamento[i];
                                                j++;
                                            }

                            }

                            //document.getElementById("valorReferencia").value = DesformatarMoeda(document.getElementById("valortotal").innerHTML); // Melhorar o c�lculo do valor total dos materiais
                            if(ValidarCadastroProcesso(itensDetalhamento2)){

                                    var inputHiddenItens = document.createElement("INPUT");
                                    inputHiddenItens.type = "hidden";
                                    inputHiddenItens.name= "itens";
                                    inputHiddenItens.value = itensDetalhamento2.toSource();

                                    document.getElementById("formCadastroProcesso").appendChild(inputHiddenItens);

                                    alert(itensDetalhamento2.toSource());

                                    return true;
                            }else{
                                    return false;
                            }
			}else{
				return false;
			}
        }